<?php

if (!defined('BASEPATH'))
    exit('No direct script access allowed');

class General {

    protected $CI;

    function General() {
        $this->CI = & get_instance();
    }

    public function _set_slug($slug) {
        //primero buscamos los que coinciden
        $this->CI->db->where('usu_slug', $slug);
        $query = $this->CI->db->get('usuario');

        if ($query->num_rows() > 0) {
            //ahora buscamos los que tienen numero
            $this->CI->db->or_where("usu_slug REGEXP '" . $slug . "-[0-9]*'");
            $this->CI->db->order_by("usu_slug", "desc");
            $query = $this->CI->db->get('usuario');

            //si hay alguno con numero quiere decir que hay dos
            //por ej: pep y pep-1
            if ($query->num_rows() > 0) {
                $row = $query->row_array();
                $arr_slug = explode("-", $row['usu_slug']);

                //volvemos a juntar el array
                $nuevo_numero = (int) $arr_slug[count($arr_slug) - 1] + 1;
                //borramos el numero del string
                unset($arr_slug[count($arr_slug) - 1]);
                $slug = implode('-', $arr_slug) . "-" . $nuevo_numero;
            } else {
                //solo hay uno, le agregamos el 1
                $slug = $slug . "-1";
            }
        } else {
            $slug = $slug;
        }
        return $slug;
    }
    
    public function _set_slug_empresa($slug) {
        //primero buscamos los que coinciden
        $this->CI->db->where('emp_slug', $slug);
        $query = $this->CI->db->get('empresa');

        if ($query->num_rows() > 0) {
            //ahora buscamos los que tienen numero
            $this->CI->db->or_where("emp_slug REGEXP '" . $slug . "-[0-9]*'");
            $this->CI->db->order_by("emp_slug", "desc");
            $query = $this->CI->db->get('empresa');

            //si hay alguno con numero quiere decir que hay dos
            //por ej: pep y pep-1
            if ($query->num_rows() > 0) {
                $row = $query->row_array();
                $arr_slug = explode("-", $row['emp_slug']);

                //volvemos a juntar el array
                $nuevo_numero = (int) $arr_slug[count($arr_slug) - 1] + 1;
                //borramos el numero del string
                unset($arr_slug[count($arr_slug) - 1]);
                $slug = implode('-', $arr_slug) . "-" . $nuevo_numero;
            } else {
                //solo hay uno, le agregamos el 1
                $slug = $slug . "-1";
            }
        } else {
            $slug = $slug;
        }
        return $slug;
    }
    
    public function _set_slug_producto($slug) {
        //primero buscamos los que coinciden
        $this->CI->db->where('pro_slug', $slug);
        $query = $this->CI->db->get('producto');

        if ($query->num_rows() > 0) {
            //ahora buscamos los que tienen numero
            $this->CI->db->or_where("pro_slug REGEXP '" . $slug . "-[0-9]*'");
            $this->CI->db->order_by("pro_slug", "desc");
            $query = $this->CI->db->get('producto');

            //si hay alguno con numero quiere decir que hay dos
            //por ej: pep y pep-1
            if ($query->num_rows() > 0) {
                $row = $query->row_array();
                $arr_slug = explode("-", $row['pro_slug']);

                //volvemos a juntar el array
                $nuevo_numero = (int) $arr_slug[count($arr_slug) - 1] + 1;
                //borramos el numero del string
                unset($arr_slug[count($arr_slug) - 1]);
                $slug = implode('-', $arr_slug) . "-" . $nuevo_numero;
            } else {
                //solo hay uno, le agregamos el 1
                $slug = $slug . "-1";
            }
        } else {
            $slug = $slug;
        }
        return $slug;
    }
}

?>
